home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / sxwork3.lzh / サンプル実用編 / チャート / CHART.H < prev    next >
Text File  |  1994-03-10  |  4KB  |  170 lines

  1. /******************************************************************************
  2.  *    chart.h: chart.cのための関数型宣言および固有の構造体マクロなどを記述する
  3.  ******************************************************************************
  4.  *    Workroom SX-68K Sample Program Copyright 1994 SHARP
  5.  *
  6.  *    定数定義
  7.  */
  8. /* ウィンドウタイトル */
  9. #define WINTITLE    ((_LASCII) "\x08チャート")
  10.  
  11. /* ウィンドウサイズ */
  12. #define WIN_H        400        /* ウィンドウの幅    */
  13. #define WIN_V        320        /* ウィンドウの高さ    */
  14.  
  15. /* 数値調整ボタンのリピート時間(1/100秒単位)*/
  16. #define ADJFIRST    40        /* リピート開始時間    */
  17. #define ADJNEXT        16        /* リピート間隔        */
  18.  
  19. #define BTNSX        10        /* ボタンの開始座標    */
  20. #define BTNSY        3
  21. #define BTNSL        6
  22. #define GRPX        8        /* グラフ表示開始座標    */
  23. #define GRPY        30
  24.  
  25. /* 円グラフ項目名表示用 */
  26. #define CRCLSTR        0
  27. #define CRCLEND        90
  28. #define OGIX        270
  29.  
  30. /* 円グラフ中心点 */
  31. #define CENTERX        150
  32. #define CENTERY        (150 + GRPY)
  33. #define RADIUS        100
  34.  
  35. /* 定数 */
  36. #define KETA1        5965232
  37. #define KETA2        2147483
  38.  
  39. #define BARGX        320
  40. #define BARTX        30
  41. #define BARTY        (GRPY + 230)
  42. #define BARSTX        40
  43. #define BARSTY        (GRPY + 50)
  44. #define BAROFF        40
  45.  
  46. #define BARLEN        250
  47. #define BARSCL        8259551
  48.  
  49. #define LINESTX        70
  50. #define LINESTY        (GRPY + 255)
  51. #define LINEOFF        75
  52. #define LINETX        60
  53. #define LINETY        (GRPY + 35)
  54. #define LINEVL        170
  55. #define LINEHL        300
  56. #define LINESCL        11930464
  57.  
  58. #define RADERSTX    200
  59. #define RADERSTY    (GRPY + 160)
  60.  
  61. /* グラフの種類 */
  62. enum graphKind { GK_INIT, GK_CRCL, GK_BAR, GK_LINE, GK_RADAR };
  63.  
  64. /* グラフィック画面の色(デフォルトパレット)*/
  65. enum graphColor {
  66.     GC_BLACK,
  67.     GC_AI,
  68.     GC_DBLUE,
  69.     GC_BLUE,
  70.     GC_DRED,
  71.     GC_RED,
  72.     GC_DPURPLE,
  73.     GC_PURPLE,
  74.     GC_DGREEN,
  75.     GC_GREEN,
  76.     GC_DWBLUE,
  77.     GC_WBLUE,
  78.     GC_DYELLOW,
  79.     GC_YELLOW,
  80.     GC_GRAY,
  81.     GC_WHITE    /* 15 */
  82. };
  83.  
  84. /* イベントマスク */
  85. #define EVENTMASK    (EM_MSLDOWN | EM_UPDATE | EM_ACTIVATE | EM_SYSTEM1 | EM_SYSTEM2)
  86. /*
  87.  *    構造体宣言
  88.  */
  89. typedef struct ComVal {            /* 共通変数            */
  90.     Window *windowPtr;        /* ウィンドウポインタ        */
  91.     BOOLEAN activeFlag;        /* アクティブフラグ        */
  92.     TsEvent event;            /* イベントレコード        */
  93.     int eventMask;            /* イベントマスク        */
  94.     int errorCode;            /* エラーコード            */
  95.     BOOLEAN endFlag;        /* 終了フラグ            */
  96.     int month;            /* 今月                */
  97.     int day;            /* 日付                */
  98.     int kind;            /* 選択中のグラフの種類        */
  99.     int drawMode;            /* 描画モード            */
  100.     Bitmap graphBmap;        /* グラフィック描画用ビットマップ */
  101.     Bitmap *lastBmapPtr;        /* 退避用ビットマップポインタ    */
  102.  
  103.     /* [円グラフ]ボタンのコントロールハンドル */
  104.     Control **crclBtnHdl;
  105.     /* [棒グラフ]ボタンのコントロールハンドル */
  106.     Control **barBtnHdl;
  107.     /* [折れ線]ボタンのコントロールハンドル */
  108.     Control **lineBtnHdl;
  109.     /* [レーダー]ボタンのコントロールハンドル */
  110.     Control **radarBtnHdl;
  111.     /* 月指定調整ボタンのコントロールハンドル */
  112.     Control **adjBtnHdl;
  113.  
  114.     int money[12][7];        /* 金額格納            */
  115.     int sum[12];            /* 合計値            */
  116.     char fileName[TS_NAMEMAX];    /* データファイル名        */
  117. } ComVal;
  118. /*
  119.  *    外部変数宣言
  120.  */
  121. extern Rect rcGraph;
  122. extern char *crclTtl[];
  123. extern int gColor[7];
  124. /*
  125.  *    関数プロトタイプ
  126.  */
  127. /* chmain.c */
  128. BOOLEAN init(ComVal *);
  129. BOOLEAN createWindow(ComVal *);
  130. BOOLEAN createControl(ComVal *);
  131. void msLDownEvent(ComVal *);
  132. void checkControl(ComVal *);
  133. void keyDownEvent(ComVal *);
  134. void updateEvent(ComVal *);
  135. void drawGraph(ComVal *);
  136. void activateEvent(ComVal *);
  137. void systemEvent(ComVal *);
  138. void showErrDialog(ComVal *);
  139. void endProc(int, ComVal *);
  140. void setGraph(ComVal *, int);
  141. void repeatAdjBtn(ComVal *, int);
  142. void addUpdate(Window *, Rect *);
  143.  
  144. /* chart.c */
  145. BOOLEAN opening(ComVal *);
  146. int getMaxDay(int);
  147. int lastMonth(int);
  148. void getDate(int *, int *);
  149. void drawTextArea(ComVal *);
  150. void clearDisp(ComVal *);
  151. BOOLEAN readData(ComVal *);
  152. BOOLEAN sumMonth(ComVal *, int, int *, int *);
  153. void drawStrM(char *, LPoint);
  154. void drawStrZ(char *, LPoint);
  155. void changeData(ComVal *);
  156.  
  157. /* chdraw.c */
  158. void drawCircle(ComVal *);
  159. void drawArc(ComVal *);
  160. void calcRate(ComVal *, int *);
  161. LPoint angleToPos(int, int, int);
  162. void drawRadar(ComVal *);
  163. void drawBar(ComVal *);
  164. void drawLine(ComVal *);
  165.  
  166. /* chfile.c */
  167. BOOLEAN loadFile(ComVal *, int, int, int *);
  168. BOOLEAN readTable(ComVal *, short *);
  169. int checkDrive(char *, int);
  170.